!function (t) {
    if ("object" == typeof exports && "undefined" != typeof module) module.exports = t(); else if ("function" == typeof define && define.amd) define([], t); else {
        ("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).superagent = t()
    }
}((function () {
    var t = {exports: {}};

    function e(t) {
        if (t) return function (t) {
            for (var r in e.prototype) t[r] = e.prototype[r];
            return t
        }(t)
    }

    t.exports = e, e.prototype.on = e.prototype.addEventListener = function (t, e) {
        return this._callbacks = this._callbacks || {}, (this._callbacks["$" + t] = this._callbacks["$" + t] || []).push(e), this
    }, e.prototype.once = function (t, e) {
        function r() {
            this.off(t, r), e.apply(this, arguments)
        }

        return r.fn = e, this.on(t, r), this
    }, e.prototype.off = e.prototype.removeListener = e.prototype.removeAllListeners = e.prototype.removeEventListener = function (t, e) {
        if (this._callbacks = this._callbacks || {}, 0 == arguments.length) return this._callbacks = {}, this;
        var r, o = this._callbacks["$" + t];
        if (!o) return this;
        if (1 == arguments.length) return delete this._callbacks["$" + t], this;
        for (var n = 0; n < o.length; n++) if ((r = o[n]) === e || r.fn === e) {
            o.splice(n, 1);
            break
        }
        return 0 === o.length && delete this._callbacks["$" + t], this
    }, e.prototype.emit = function (t) {
        this._callbacks = this._callbacks || {};
        for (var e = new Array(arguments.length - 1), r = this._callbacks["$" + t], o = 1; o < arguments.length; o++) e[o - 1] = arguments[o];
        if (r) {
            o = 0;
            for (var n = (r = r.slice(0)).length; o < n; ++o) r[o].apply(this, e)
        }
        return this
    }, e.prototype.listeners = function (t) {
        return this._callbacks = this._callbacks || {}, this._callbacks["$" + t] || []
    }, e.prototype.hasListeners = function (t) {
        return !!this.listeners(t).length
    }, t = t.exports;
    var r;
    r = a, a.default = a, a.stable = p, a.stableStringify = p;
    var o = [], n = [];

    function i() {
        return {depthLimit: Number.MAX_SAFE_INTEGER, edgesLimit: Number.MAX_SAFE_INTEGER}
    }

    function a(t, e, r, a) {
        var l;
        void 0 === a && (a = i()), function t(e, r, o, n, i, a, l) {
            var p;
            if (a += 1, "object" == typeof e && null !== e) {
                for (p = 0; p < n.length; p++) if (n[p] === e) return void s("[Circular]", e, r, i);
                if (void 0 !== l.depthLimit && a > l.depthLimit) return void s("[...]", e, r, i);
                if (void 0 !== l.edgesLimit && o + 1 > l.edgesLimit) return void s("[...]", e, r, i);
                if (n.push(e), Array.isArray(e)) for (p = 0; p < e.length; p++) t(e[p], p, p, n, e, a, l); else {
                    var u = Object.keys(e);
                    for (p = 0; p < u.length; p++) {
                        var c = u[p];
                        t(e[c], c, p, n, e, a, l)
                    }
                }
                n.pop()
            }
        }(t, "", 0, [], void 0, 0, a);
        try {
            l = 0 === n.length ? JSON.stringify(t, e, r) : JSON.stringify(t, u(e), r)
        } catch (c) {
            return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")
        } finally {
            for (; 0 !== o.length;) {
                var p = o.pop();
                4 === p.length ? Object.defineProperty(p[0], p[1], p[3]) : p[0][p[1]] = p[2]
            }
        }
        return l
    }

    function s(t, e, r, i) {
        var a = Object.getOwnPropertyDescriptor(i, r);
        void 0 !== a.get ? a.configurable ? (Object.defineProperty(i, r, {value: t}), o.push([i, r, e, a])) : n.push([e, r, t]) : (i[r] = t, o.push([i, r, e]))
    }

    function l(t, e) {
        return t < e ? -1 : t > e ? 1 : 0
    }

    function p(t, e, r, a) {
        void 0 === a && (a = i());
        var p, c = function t(e, r, n, i, a, p, u) {
            var c;
            if (p += 1, "object" == typeof e && null !== e) {
                for (c = 0; c < i.length; c++) if (i[c] === e) return void s("[Circular]", e, r, a);
                try {
                    if ("function" == typeof e.toJSON) return
                } catch (d) {
                    return
                }
                if (void 0 !== u.depthLimit && p > u.depthLimit) return void s("[...]", e, r, a);
                if (void 0 !== u.edgesLimit && n + 1 > u.edgesLimit) return void s("[...]", e, r, a);
                if (i.push(e), Array.isArray(e)) for (c = 0; c < e.length; c++) t(e[c], c, c, i, e, p, u); else {
                    var f = {}, y = Object.keys(e).sort(l);
                    for (c = 0; c < y.length; c++) {
                        var h = y[c];
                        t(e[h], h, c, i, e, p, u), f[h] = e[h]
                    }
                    if (void 0 === a) return f;
                    o.push([a, r, e]), a[r] = f
                }
                i.pop()
            }
        }(t, "", 0, [], void 0, 0, a) || t;
        try {
            p = 0 === n.length ? JSON.stringify(c, e, r) : JSON.stringify(c, u(e), r)
        } catch (y) {
            return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")
        } finally {
            for (; 0 !== o.length;) {
                var f = o.pop();
                4 === f.length ? Object.defineProperty(f[0], f[1], f[3]) : f[0][f[1]] = f[2]
            }
        }
        return p
    }

    function u(t) {
        return t = void 0 !== t ? t : function (t, e) {
            return e
        }, function (e, r) {
            if (n.length > 0) for (var o = 0; o < n.length; o++) {
                var i = n[o];
                if (i[1] === e && i[0] === r) {
                    r = i[2], n.splice(o, 1);
                    break
                }
            }
            return t.call(this, e, r)
        }
    }

    var c = Error, f = EvalError, y = RangeError, h = ReferenceError, d = SyntaxError, m = TypeError, b = URIError,
        g = "undefined" != typeof Symbol && Symbol, v = {__proto__: null, foo: {}}, w = Object,
        _ = Object.prototype.toString, S = Math.max, A = function (t, e) {
            for (var r = [], o = 0; o < t.length; o += 1) r[o] = t[o];
            for (var n = 0; n < e.length; n += 1) r[n + t.length] = e[n];
            return r
        }, E = Function.prototype.bind || function (t) {
            var e = this;
            if ("function" != typeof e || "[object Function]" !== _.apply(e)) throw new TypeError("Function.prototype.bind called on incompatible " + e);
            for (var r, o = function (t, e) {
                for (var r = [], o = 1, n = 0; o < t.length; o += 1, n += 1) r[n] = t[o];
                return r
            }(arguments), n = S(0, e.length - o.length), i = [], a = 0; a < n; a++) i[a] = "$" + a;
            if (r = Function("binder", "return function (" + function (t, e) {
                for (var r = "", o = 0; o < t.length; o += 1) r += t[o], o + 1 < t.length && (r += ",");
                return r
            }(i) + "){ return binder.apply(this,arguments); }")((function () {
                if (this instanceof r) {
                    var n = e.apply(this, A(o, arguments));
                    return Object(n) === n ? n : this
                }
                return e.apply(t, A(o, arguments))
            })), e.prototype) {
                var s = function () {
                };
                s.prototype = e.prototype, r.prototype = new s, s.prototype = null
            }
            return r
        }, O = Function.prototype.call, j = Object.prototype.hasOwnProperty, T = E.call(O, j), P = Function,
        x = function (t) {
            try {
                return P('"use strict"; return (' + t + ").constructor;")()
            } catch (e) {
            }
        }, k = Object.getOwnPropertyDescriptor;
    if (k) try {
        k({}, "")
    } catch (me) {
        k = null
    }
    var R = function () {
            throw new m
        }, I = k ? function () {
            try {
                return R
            } catch (t) {
                try {
                    return k(arguments, "callee").get
                } catch (e) {
                    return R
                }
            }
        }() : R,
        D = "function" == typeof g && "function" == typeof Symbol && "symbol" == typeof g("foo") && "symbol" == typeof Symbol("bar") && function () {
            if ("function" != typeof Symbol || "function" != typeof Object.getOwnPropertySymbols) return !1;
            if ("symbol" == typeof Symbol.iterator) return !0;
            var t = {}, e = Symbol("test"), r = Object(e);
            if ("string" == typeof e) return !1;
            if ("[object Symbol]" !== Object.prototype.toString.call(e)) return !1;
            if ("[object Symbol]" !== Object.prototype.toString.call(r)) return !1;
            for (e in t[e] = 42, t) return !1;
            if ("function" == typeof Object.keys && 0 !== Object.keys(t).length) return !1;
            if ("function" == typeof Object.getOwnPropertyNames && 0 !== Object.getOwnPropertyNames(t).length) return !1;
            var o = Object.getOwnPropertySymbols(t);
            if (1 !== o.length || o[0] !== e) return !1;
            if (!Object.prototype.propertyIsEnumerable.call(t, e)) return !1;
            if ("function" == typeof Object.getOwnPropertyDescriptor) {
                var n = Object.getOwnPropertyDescriptor(t, e);
                if (42 !== n.value || !0 !== n.enumerable) return !1
            }
            return !0
        }(), C = {__proto__: v}.foo === v.foo && !(v instanceof w), F = Object.getPrototypeOf || (C ? function (t) {
            return t.__proto__
        } : null), N = {}, U = "undefined" != typeof Uint8Array && F ? F(Uint8Array) : void 0, M = {
            __proto__: null,
            "%AggregateError%": "undefined" == typeof AggregateError ? void 0 : AggregateError,
            "%Array%": Array,
            "%ArrayBuffer%": "undefined" == typeof ArrayBuffer ? void 0 : ArrayBuffer,
            "%ArrayIteratorPrototype%": D && F ? F([][Symbol.iterator]()) : void 0,
            "%AsyncFromSyncIteratorPrototype%": void 0,
            "%AsyncFunction%": N,
            "%AsyncGenerator%": N,
            "%AsyncGeneratorFunction%": N,
            "%AsyncIteratorPrototype%": N,
            "%Atomics%": "undefined" == typeof Atomics ? void 0 : Atomics,
            "%BigInt%": "undefined" == typeof BigInt ? void 0 : BigInt,
            "%BigInt64Array%": "undefined" == typeof BigInt64Array ? void 0 : BigInt64Array,
            "%BigUint64Array%": "undefined" == typeof BigUint64Array ? void 0 : BigUint64Array,
            "%Boolean%": Boolean,
            "%DataView%": "undefined" == typeof DataView ? void 0 : DataView,
            "%Date%": Date,
            "%decodeURI%": decodeURI,
            "%decodeURIComponent%": decodeURIComponent,
            "%encodeURI%": encodeURI,
            "%encodeURIComponent%": encodeURIComponent,
            "%Error%": c,
            "%eval%": eval,
            "%EvalError%": f,
            "%Float32Array%": "undefined" == typeof Float32Array ? void 0 : Float32Array,
            "%Float64Array%": "undefined" == typeof Float64Array ? void 0 : Float64Array,
            "%FinalizationRegistry%": "undefined" == typeof FinalizationRegistry ? void 0 : FinalizationRegistry,
            "%Function%": P,
            "%GeneratorFunction%": N,
            "%Int8Array%": "undefined" == typeof Int8Array ? void 0 : Int8Array,
            "%Int16Array%": "undefined" == typeof Int16Array ? void 0 : Int16Array,
            "%Int32Array%": "undefined" == typeof Int32Array ? void 0 : Int32Array,
            "%isFinite%": isFinite,
            "%isNaN%": isNaN,
            "%IteratorPrototype%": D && F ? F(F([][Symbol.iterator]())) : void 0,
            "%JSON%": "object" == typeof JSON ? JSON : void 0,
            "%Map%": "undefined" == typeof Map ? void 0 : Map,
            "%MapIteratorPrototype%": "undefined" != typeof Map && D && F ? F((new Map)[Symbol.iterator]()) : void 0,
            "%Math%": Math,
            "%Number%": Number,
            "%Object%": Object,
            "%parseFloat%": parseFloat,
            "%parseInt%": parseInt,
            "%Promise%": "undefined" == typeof Promise ? void 0 : Promise,
            "%Proxy%": "undefined" == typeof Proxy ? void 0 : Proxy,
            "%RangeError%": y,
            "%ReferenceError%": h,
            "%Reflect%": "undefined" == typeof Reflect ? void 0 : Reflect,
            "%RegExp%": RegExp,
            "%Set%": "undefined" == typeof Set ? void 0 : Set,
            "%SetIteratorPrototype%": "undefined" != typeof Set && D && F ? F((new Set)[Symbol.iterator]()) : void 0,
            "%SharedArrayBuffer%": "undefined" == typeof SharedArrayBuffer ? void 0 : SharedArrayBuffer,
            "%String%": String,
            "%StringIteratorPrototype%": D && F ? F(""[Symbol.iterator]()) : void 0,
            "%Symbol%": D ? Symbol : void 0,
            "%SyntaxError%": d,
            "%ThrowTypeError%": I,
            "%TypedArray%": U,
            "%TypeError%": m,
            "%Uint8Array%": "undefined" == typeof Uint8Array ? void 0 : Uint8Array,
            "%Uint8ClampedArray%": "undefined" == typeof Uint8ClampedArray ? void 0 : Uint8ClampedArray,
            "%Uint16Array%": "undefined" == typeof Uint16Array ? void 0 : Uint16Array,
            "%Uint32Array%": "undefined" == typeof Uint32Array ? void 0 : Uint32Array,
            "%URIError%": b,
            "%WeakMap%": "undefined" == typeof WeakMap ? void 0 : WeakMap,
            "%WeakRef%": "undefined" == typeof WeakRef ? void 0 : WeakRef,
            "%WeakSet%": "undefined" == typeof WeakSet ? void 0 : WeakSet
        };
    if (F) try {
        null.error
    } catch (me) {
        var q = F(F(me));
        M["%Error.prototype%"] = q
    }
    var L = {
            __proto__: null,
            "%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"],
            "%ArrayPrototype%": ["Array", "prototype"],
            "%ArrayProto_entries%": ["Array", "prototype", "entries"],
            "%ArrayProto_forEach%": ["Array", "prototype", "forEach"],
            "%ArrayProto_keys%": ["Array", "prototype", "keys"],
            "%ArrayProto_values%": ["Array", "prototype", "values"],
            "%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"],
            "%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"],
            "%AsyncGeneratorPrototype%": ["AsyncGeneratorFunction", "prototype", "prototype"],
            "%BooleanPrototype%": ["Boolean", "prototype"],
            "%DataViewPrototype%": ["DataView", "prototype"],
            "%DatePrototype%": ["Date", "prototype"],
            "%ErrorPrototype%": ["Error", "prototype"],
            "%EvalErrorPrototype%": ["EvalError", "prototype"],
            "%Float32ArrayPrototype%": ["Float32Array", "prototype"],
            "%Float64ArrayPrototype%": ["Float64Array", "prototype"],
            "%FunctionPrototype%": ["Function", "prototype"],
            "%Generator%": ["GeneratorFunction", "prototype"],
            "%GeneratorPrototype%": ["GeneratorFunction", "prototype", "prototype"],
            "%Int8ArrayPrototype%": ["Int8Array", "prototype"],
            "%Int16ArrayPrototype%": ["Int16Array", "prototype"],
            "%Int32ArrayPrototype%": ["Int32Array", "prototype"],
            "%JSONParse%": ["JSON", "parse"],
            "%JSONStringify%": ["JSON", "stringify"],
            "%MapPrototype%": ["Map", "prototype"],
            "%NumberPrototype%": ["Number", "prototype"],
            "%ObjectPrototype%": ["Object", "prototype"],
            "%ObjProto_toString%": ["Object", "prototype", "toString"],
            "%ObjProto_valueOf%": ["Object", "prototype", "valueOf"],
            "%PromisePrototype%": ["Promise", "prototype"],
            "%PromiseProto_then%": ["Promise", "prototype", "then"],
            "%Promise_all%": ["Promise", "all"],
            "%Promise_reject%": ["Promise", "reject"],
            "%Promise_resolve%": ["Promise", "resolve"],
            "%RangeErrorPrototype%": ["RangeError", "prototype"],
            "%ReferenceErrorPrototype%": ["ReferenceError", "prototype"],
            "%RegExpPrototype%": ["RegExp", "prototype"],
            "%SetPrototype%": ["Set", "prototype"],
            "%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"],
            "%StringPrototype%": ["String", "prototype"],
            "%SymbolPrototype%": ["Symbol", "prototype"],
            "%SyntaxErrorPrototype%": ["SyntaxError", "prototype"],
            "%TypedArrayPrototype%": ["TypedArray", "prototype"],
            "%TypeErrorPrototype%": ["TypeError", "prototype"],
            "%Uint8ArrayPrototype%": ["Uint8Array", "prototype"],
            "%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"],
            "%Uint16ArrayPrototype%": ["Uint16Array", "prototype"],
            "%Uint32ArrayPrototype%": ["Uint32Array", "prototype"],
            "%URIErrorPrototype%": ["URIError", "prototype"],
            "%WeakMapPrototype%": ["WeakMap", "prototype"],
            "%WeakSetPrototype%": ["WeakSet", "prototype"]
        }, B = E.call(Function.call, Array.prototype.concat), W = E.call(Function.apply, Array.prototype.splice),
        H = E.call(Function.call, String.prototype.replace), $ = E.call(Function.call, String.prototype.slice),
        z = E.call(Function.call, RegExp.prototype.exec),
        G = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,
        J = /\\(\\)?/g, K = function (t, e) {
            var r, o = t;
            if (T(L, o) && (o = "%" + (r = L[o])[0] + "%"), T(M, o)) {
                var n = M[o];
                if (n === N && (n = function t(e) {
                    var r;
                    if ("%AsyncFunction%" === e) r = x("async function () {}"); else if ("%GeneratorFunction%" === e) r = x("function* () {}"); else if ("%AsyncGeneratorFunction%" === e) r = x("async function* () {}"); else if ("%AsyncGenerator%" === e) {
                        var o = t("%AsyncGeneratorFunction%");
                        o && (r = o.prototype)
                    } else if ("%AsyncIteratorPrototype%" === e) {
                        var n = t("%AsyncGenerator%");
                        n && F && (r = F(n.prototype))
                    }
                    return M[e] = r, r
                }(o)), void 0 === n && !e) throw new m("intrinsic " + t + " exists, but is not available. Please file an issue!");
                return {alias: r, name: o, value: n}
            }
            throw new d("intrinsic " + t + " does not exist!")
        }, V = function (t, e) {
            if ("string" != typeof t || 0 === t.length) throw new m("intrinsic name must be a non-empty string");
            if (arguments.length > 1 && "boolean" != typeof e) throw new m('"allowMissing" argument must be a boolean');
            if (null === z(/^%?[^%]*%?$/, t)) throw new d("`%` may not be present anywhere but at the beginning and end of the intrinsic name");
            var r = function (t) {
                var e = $(t, 0, 1), r = $(t, -1);
                if ("%" === e && "%" !== r) throw new d("invalid intrinsic syntax, expected closing `%`");
                if ("%" === r && "%" !== e) throw new d("invalid intrinsic syntax, expected opening `%`");
                var o = [];
                return H(t, G, (function (t, e, r, n) {
                    o[o.length] = r ? H(n, J, "$1") : e || t
                })), o
            }(t), o = r.length > 0 ? r[0] : "", n = K("%" + o + "%", e), i = n.name, a = n.value, s = !1, l = n.alias;
            l && (o = l[0], W(r, B([0, 1], l)));
            for (var p = 1, u = !0; p < r.length; p += 1) {
                var c = r[p], f = $(c, 0, 1), y = $(c, -1);
                if (('"' === f || "'" === f || "`" === f || '"' === y || "'" === y || "`" === y) && f !== y) throw new d("property names with quotes must have matching quotes");
                if ("constructor" !== c && u || (s = !0), T(M, i = "%" + (o += "." + c) + "%")) a = M[i]; else if (null != a) {
                    if (!(c in a)) {
                        if (!e) throw new m("base intrinsic for " + t + " exists, but the property is not available.");
                        return
                    }
                    if (k && p + 1 >= r.length) {
                        var h = k(a, c);
                        a = (u = !!h) && "get" in h && !("originalValue" in h.get) ? h.get : a[c]
                    } else u = T(a, c), a = a[c];
                    u && !s && (M[i] = a)
                }
            }
            return a
        }, Q = V("%Object.defineProperty%", !0) || !1;
    if (Q) try {
        Q({}, "a", {value: 1})
    } catch (me) {
        Q = !1
    }
    var X = Q, Y = V("%Object.getOwnPropertyDescriptor%", !0);
    if (Y) try {
        Y([], "length")
    } catch (me) {
        Y = null
    }
    var Z = Y, tt = function (t, e, r) {
        if (!t || "object" != typeof t && "function" != typeof t) throw new m("`obj` must be an object or a function`");
        if ("string" != typeof e && "symbol" != typeof e) throw new m("`property` must be a string or a symbol`");
        if (arguments.length > 3 && "boolean" != typeof arguments[3] && null !== arguments[3]) throw new m("`nonEnumerable`, if provided, must be a boolean or null");
        if (arguments.length > 4 && "boolean" != typeof arguments[4] && null !== arguments[4]) throw new m("`nonWritable`, if provided, must be a boolean or null");
        if (arguments.length > 5 && "boolean" != typeof arguments[5] && null !== arguments[5]) throw new m("`nonConfigurable`, if provided, must be a boolean or null");
        if (arguments.length > 6 && "boolean" != typeof arguments[6]) throw new m("`loose`, if provided, must be a boolean");
        var o = arguments.length > 3 ? arguments[3] : null, n = arguments.length > 4 ? arguments[4] : null,
            i = arguments.length > 5 ? arguments[5] : null, a = arguments.length > 6 && arguments[6],
            s = !!Z && Z(t, e);
        if (X) X(t, e, {
            configurable: null === i && s ? s.configurable : !i,
            enumerable: null === o && s ? s.enumerable : !o,
            value: r,
            writable: null === n && s ? s.writable : !n
        }); else {
            if (!a && (o || n || i)) throw new d("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");
            t[e] = r
        }
    }, et = function () {
        return !!X
    };
    et.hasArrayLengthDefineBug = function () {
        if (!X) return null;
        try {
            return 1 !== X([], "length", {value: 1}).length
        } catch (me) {
            return !0
        }
    };
    var rt, ot = et(), nt = V("%Math.floor%"), it = function (t, e) {
            if ("function" != typeof t) throw new m("`fn` is not a function");
            if ("number" != typeof e || e < 0 || e > 4294967295 || nt(e) !== e) throw new m("`length` must be a positive 32-bit integer");
            var r = arguments.length > 2 && !!arguments[2], o = !0, n = !0;
            if ("length" in t && Z) {
                var i = Z(t, "length");
                i && !i.configurable && (o = !1), i && !i.writable && (n = !1)
            }
            return (o || n || !r) && (ot ? tt(t, "length", e, !0, !0) : tt(t, "length", e)), t
        }, at = V("%Function.prototype.apply%"), st = V("%Function.prototype.call%"),
        lt = V("%Reflect.apply%", !0) || E.call(st, at), pt = V("%Math.max%");
    rt = function (t) {
        if ("function" != typeof t) throw new m("a function is required");
        var e = lt(E, st, arguments);
        return it(e, 1 + pt(0, t.length - (arguments.length - 1)), !0)
    };
    var ut = function () {
        return lt(E, at, arguments)
    };
    X ? X(rt, "apply", {value: ut}) : rt.apply = ut;
    var ct = rt(V("String.prototype.indexOf")), ft = function (t, e) {
        var r = V(t, !!e);
        return "function" == typeof r && ct(t, ".prototype.") > -1 ? rt(r) : r
    }, yt = {}, ht = {};
    (function (t) {
        (function () {
            var e = "function" == typeof Map && Map.prototype,
                r = Object.getOwnPropertyDescriptor && e ? Object.getOwnPropertyDescriptor(Map.prototype, "size") : null,
                o = e && r && "function" == typeof r.get ? r.get : null, n = e && Map.prototype.forEach,
                i = "function" == typeof Set && Set.prototype,
                a = Object.getOwnPropertyDescriptor && i ? Object.getOwnPropertyDescriptor(Set.prototype, "size") : null,
                s = i && a && "function" == typeof a.get ? a.get : null, l = i && Set.prototype.forEach,
                p = "function" == typeof WeakMap && WeakMap.prototype ? WeakMap.prototype.has : null,
                u = "function" == typeof WeakSet && WeakSet.prototype ? WeakSet.prototype.has : null,
                c = "function" == typeof WeakRef && WeakRef.prototype ? WeakRef.prototype.deref : null,
                f = Boolean.prototype.valueOf, y = Object.prototype.toString, h = Function.prototype.toString,
                d = String.prototype.match, m = String.prototype.slice, b = String.prototype.replace,
                g = String.prototype.toUpperCase, v = String.prototype.toLowerCase, w = RegExp.prototype.test,
                _ = Array.prototype.concat, S = Array.prototype.join, A = Array.prototype.slice, E = Math.floor,
                O = "function" == typeof BigInt ? BigInt.prototype.valueOf : null, j = Object.getOwnPropertySymbols,
                T = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? Symbol.prototype.toString : null,
                P = "function" == typeof Symbol && "object" == typeof Symbol.iterator,
                x = "function" == typeof Symbol && Symbol.toStringTag && (Symbol.toStringTag, 1) ? Symbol.toStringTag : null,
                k = Object.prototype.propertyIsEnumerable,
                R = ("function" == typeof Reflect ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ([].__proto__ === Array.prototype ? function (t) {
                    return t.__proto__
                } : null);

            function I(t, e) {
                if (t === 1 / 0 || t === -1 / 0 || t != t || t && t > -1e3 && t < 1e3 || w.call(/e/, e)) return e;
                var r = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;
                if ("number" == typeof t) {
                    var o = t < 0 ? -E(-t) : E(t);
                    if (o !== t) {
                        var n = String(o), i = m.call(e, n.length + 1);
                        return b.call(n, r, "$&_") + "." + b.call(b.call(i, /([0-9]{3})/g, "$&_"), /_$/, "")
                    }
                }
                return b.call(e, r, "$&_")
            }

            var D = yt.custom, C = q(D) ? D : null;

            function F(t, e, r) {
                var o = "double" === (r.quoteStyle || e) ? '"' : "'";
                return o + t + o
            }

            function N(t) {
                return b.call(String(t), /"/g, "&quot;")
            }

            function U(t) {
                return !("[object Array]" !== W(t) || x && "object" == typeof t && x in t)
            }

            function M(t) {
                return !("[object RegExp]" !== W(t) || x && "object" == typeof t && x in t)
            }

            function q(t) {
                if (P) return t && "object" == typeof t && t instanceof Symbol;
                if ("symbol" == typeof t) return !0;
                if (!t || "object" != typeof t || !T) return !1;
                try {
                    return T.call(t), !0
                } catch (me) {
                }
                return !1
            }

            ht = function e(r, i, a, y) {
                var g = i || {};
                if (B(g, "quoteStyle") && "single" !== g.quoteStyle && "double" !== g.quoteStyle) throw new TypeError('option "quoteStyle" must be "single" or "double"');
                if (B(g, "maxStringLength") && ("number" == typeof g.maxStringLength ? g.maxStringLength < 0 && g.maxStringLength !== 1 / 0 : null !== g.maxStringLength)) throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');
                var w = !B(g, "customInspect") || g.customInspect;
                if ("boolean" != typeof w && "symbol" !== w) throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");
                if (B(g, "indent") && null !== g.indent && "\t" !== g.indent && !(parseInt(g.indent, 10) === g.indent && g.indent > 0)) throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');
                if (B(g, "numericSeparator") && "boolean" != typeof g.numericSeparator) throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');
                var E = g.numericSeparator;
                if (void 0 === r) return "undefined";
                if (null === r) return "null";
                if ("boolean" == typeof r) return r ? "true" : "false";
                if ("string" == typeof r) return function t(e, r) {
                    if (e.length > r.maxStringLength) {
                        var o = e.length - r.maxStringLength, n = "... " + o + " more character" + (o > 1 ? "s" : "");
                        return t(m.call(e, 0, r.maxStringLength), r) + n
                    }
                    return F(b.call(b.call(e, /(['\\])/g, "\\$1"), /[\x00-\x1f]/g, $), "single", r)
                }(r, g);
                if ("number" == typeof r) {
                    if (0 === r) return 1 / 0 / r > 0 ? "0" : "-0";
                    var j = String(r);
                    return E ? I(r, j) : j
                }
                if ("bigint" == typeof r) {
                    var D = String(r) + "n";
                    return E ? I(r, D) : D
                }
                var L = void 0 === g.depth ? 5 : g.depth;
                if (void 0 === a && (a = 0), a >= L && L > 0 && "object" == typeof r) return U(r) ? "[Array]" : "[Object]";
                var Q, X = function (t, e) {
                    var r;
                    if ("\t" === t.indent) r = "\t"; else {
                        if (!("number" == typeof t.indent && t.indent > 0)) return null;
                        r = S.call(Array(t.indent + 1), " ")
                    }
                    return {base: r, prev: S.call(Array(e + 1), r)}
                }(g, a);
                if (void 0 === y) y = []; else if (H(y, r) >= 0) return "[Circular]";

                function Y(t, r, o) {
                    if (r && (y = A.call(y)).push(r), o) {
                        var n = {depth: g.depth};
                        return B(g, "quoteStyle") && (n.quoteStyle = g.quoteStyle), e(t, n, a + 1, y)
                    }
                    return e(t, g, a + 1, y)
                }

                if ("function" == typeof r && !M(r)) {
                    var Z = function (t) {
                        if (t.name) return t.name;
                        var e = d.call(h.call(t), /^function\s*([\w$]+)/);
                        return e ? e[1] : null
                    }(r), tt = V(r, Y);
                    return "[Function" + (Z ? ": " + Z : " (anonymous)") + "]" + (tt.length > 0 ? " { " + S.call(tt, ", ") + " }" : "")
                }
                if (q(r)) {
                    var et = P ? b.call(String(r), /^(Symbol\(.*\))_[^)]*$/, "$1") : T.call(r);
                    return "object" != typeof r || P ? et : z(et)
                }
                if ((Q = r) && "object" == typeof Q && ("undefined" != typeof HTMLElement && Q instanceof HTMLElement || "string" == typeof Q.nodeName && "function" == typeof Q.getAttribute)) {
                    for (var rt = "<" + v.call(String(r.nodeName)), ot = r.attributes || [], nt = 0; nt < ot.length; nt++) rt += " " + ot[nt].name + "=" + F(N(ot[nt].value), "double", g);
                    return rt += ">", r.childNodes && r.childNodes.length && (rt += "..."), rt + "</" + v.call(String(r.nodeName)) + ">"
                }
                if (U(r)) {
                    if (0 === r.length) return "[]";
                    var it = V(r, Y);
                    return X && !function (t) {
                        for (var e = 0; e < t.length; e++) if (H(t[e], "\n") >= 0) return !1;
                        return !0
                    }(it) ? "[" + K(it, X) + "]" : "[ " + S.call(it, ", ") + " ]"
                }
                if (function (t) {
                    return !("[object Error]" !== W(t) || x && "object" == typeof t && x in t)
                }(r)) {
                    var at = V(r, Y);
                    return "cause" in Error.prototype || !("cause" in r) || k.call(r, "cause") ? 0 === at.length ? "[" + String(r) + "]" : "{ [" + String(r) + "] " + S.call(at, ", ") + " }" : "{ [" + String(r) + "] " + S.call(_.call("[cause]: " + Y(r.cause), at), ", ") + " }"
                }
                if ("object" == typeof r && w) {
                    if (C && "function" == typeof r[C] && yt) return yt(r, {depth: L - a});
                    if ("symbol" !== w && "function" == typeof r.inspect) return r.inspect()
                }
                if (function (t) {
                    if (!o || !t || "object" != typeof t) return !1;
                    try {
                        o.call(t);
                        try {
                            s.call(t)
                        } catch (rt) {
                            return !0
                        }
                        return t instanceof Map
                    } catch (me) {
                    }
                    return !1
                }(r)) {
                    var st = [];
                    return n && n.call(r, (function (t, e) {
                        st.push(Y(e, r, !0) + " => " + Y(t, r))
                    })), J("Map", o.call(r), st, X)
                }
                if (function (t) {
                    if (!s || !t || "object" != typeof t) return !1;
                    try {
                        s.call(t);
                        try {
                            o.call(t)
                        } catch (e) {
                            return !0
                        }
                        return t instanceof Set
                    } catch (me) {
                    }
                    return !1
                }(r)) {
                    var lt = [];
                    return l && l.call(r, (function (t) {
                        lt.push(Y(t, r))
                    })), J("Set", s.call(r), lt, X)
                }
                if (function (t) {
                    if (!p || !t || "object" != typeof t) return !1;
                    try {
                        p.call(t, p);
                        try {
                            u.call(t, u)
                        } catch (rt) {
                            return !0
                        }
                        return t instanceof WeakMap
                    } catch (me) {
                    }
                    return !1
                }(r)) return G("WeakMap");
                if (function (t) {
                    if (!u || !t || "object" != typeof t) return !1;
                    try {
                        u.call(t, u);
                        try {
                            p.call(t, p)
                        } catch (rt) {
                            return !0
                        }
                        return t instanceof WeakSet
                    } catch (me) {
                    }
                    return !1
                }(r)) return G("WeakSet");
                if (function (t) {
                    if (!c || !t || "object" != typeof t) return !1;
                    try {
                        return c.call(t), !0
                    } catch (me) {
                    }
                    return !1
                }(r)) return G("WeakRef");
                if (function (t) {
                    return !("[object Number]" !== W(t) || x && "object" == typeof t && x in t)
                }(r)) return z(Y(Number(r)));
                if (function (t) {
                    if (!t || "object" != typeof t || !O) return !1;
                    try {
                        return O.call(t), !0
                    } catch (me) {
                    }
                    return !1
                }(r)) return z(Y(O.call(r)));
                if (function (t) {
                    return !("[object Boolean]" !== W(t) || x && "object" == typeof t && x in t)
                }(r)) return z(f.call(r));
                if (function (t) {
                    return !("[object String]" !== W(t) || x && "object" == typeof t && x in t)
                }(r)) return z(Y(String(r)));
                if ("undefined" != typeof window && r === window) return "{ [object Window] }";
                if ("undefined" != typeof globalThis && r === globalThis || void 0 !== t && r === t) return "{ [object globalThis] }";
                if (!function (t) {
                    return !("[object Date]" !== W(t) || x && "object" == typeof t && x in t)
                }(r) && !M(r)) {
                    var pt = V(r, Y),
                        ut = R ? R(r) === Object.prototype : r instanceof Object || r.constructor === Object,
                        ct = r instanceof Object ? "" : "null prototype",
                        ft = !ut && x && Object(r) === r && x in r ? m.call(W(r), 8, -1) : ct ? "Object" : "",
                        ht = (ut || "function" != typeof r.constructor ? "" : r.constructor.name ? r.constructor.name + " " : "") + (ft || ct ? "[" + S.call(_.call([], ft || [], ct || []), ": ") + "] " : "");
                    return 0 === pt.length ? ht + "{}" : X ? ht + "{" + K(pt, X) + "}" : ht + "{ " + S.call(pt, ", ") + " }"
                }
                return String(r)
            };
            var L = Object.prototype.hasOwnProperty || function (t) {
                return t in this
            };

            function B(t, e) {
                return L.call(t, e)
            }

            function W(t) {
                return y.call(t)
            }

            function H(t, e) {
                if (t.indexOf) return t.indexOf(e);
                for (var r = 0, o = t.length; r < o; r++) if (t[r] === e) return r;
                return -1
            }

            function $(t) {
                var e = t.charCodeAt(0), r = {8: "b", 9: "t", 10: "n", 12: "f", 13: "r"}[e];
                return r ? "\\" + r : "\\x" + (e < 16 ? "0" : "") + g.call(e.toString(16))
            }

            function z(t) {
                return "Object(" + t + ")"
            }

            function G(t) {
                return t + " { ? }"
            }

            function J(t, e, r, o) {
                return t + " (" + e + ") {" + (o ? K(r, o) : S.call(r, ", ")) + "}"
            }

            function K(t, e) {
                if (0 === t.length) return "";
                var r = "\n" + e.prev + e.base;
                return r + S.call(t, "," + r) + "\n" + e.prev
            }

            function V(t, e) {
                var r = U(t), o = [];
                if (r) {
                    o.length = t.length;
                    for (var n = 0; n < t.length; n++) o[n] = B(t, n) ? e(t[n], t) : ""
                }
                var i, a = "function" == typeof j ? j(t) : [];
                if (P) {
                    i = {};
                    for (var s = 0; s < a.length; s++) i["$" + a[s]] = a[s]
                }
                for (var l in t) B(t, l) && (r && String(Number(l)) === l && l < t.length || P && i["$" + l] instanceof Symbol || (w.call(/[^\w$]/, l) ? o.push(e(l, t) + ": " + e(t[l], t)) : o.push(l + ": " + e(t[l], t))));
                if ("function" == typeof j) for (var p = 0; p < a.length; p++) k.call(t, a[p]) && o.push("[" + e(a[p]) + "]: " + e(t[a[p]], t));
                return o
            }
        }).call(this)
    }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {});
    var dt = V("%WeakMap%", !0), mt = V("%Map%", !0), bt = ft("WeakMap.prototype.get", !0),
        gt = ft("WeakMap.prototype.set", !0), vt = ft("WeakMap.prototype.has", !0), wt = ft("Map.prototype.get", !0),
        _t = ft("Map.prototype.set", !0), St = ft("Map.prototype.has", !0), At = function (t, e) {
            for (var r, o = t; null !== (r = o.next); o = r) if (r.key === e) return o.next = r.next, r.next = t.next, t.next = r, r
        }, Et = function () {
            var t, e, r, o = {
                assert: function (t) {
                    if (!o.has(t)) throw new m("Side channel does not contain " + ht(t))
                }, get: function (o) {
                    if (dt && o && ("object" == typeof o || "function" == typeof o)) {
                        if (t) return bt(t, o)
                    } else if (mt) {
                        if (e) return wt(e, o)
                    } else if (r) return function (t, e) {
                        var r = At(t, e);
                        return r && r.value
                    }(r, o)
                }, has: function (o) {
                    if (dt && o && ("object" == typeof o || "function" == typeof o)) {
                        if (t) return vt(t, o)
                    } else if (mt) {
                        if (e) return St(e, o)
                    } else if (r) return function (t, e) {
                        return !!At(t, e)
                    }(r, o);
                    return !1
                }, set: function (o, n) {
                    dt && o && ("object" == typeof o || "function" == typeof o) ? (t || (t = new dt), gt(t, o, n)) : mt ? (e || (e = new mt), _t(e, o, n)) : (r || (r = {
                        key: {},
                        next: null
                    }), function (t, e, r) {
                        var o = At(t, e);
                        o ? o.value = r : t.next = {key: e, next: t.next, value: r}
                    }(r, o, n))
                }
            };
            return o
        }, Ot = String.prototype.replace, jt = /%20/g, Tt = {
            default: "RFC3986", formatters: {
                RFC1738: function (t) {
                    return Ot.call(t, jt, "+")
                }, RFC3986: function (t) {
                    return String(t)
                }
            }, RFC1738: "RFC1738", RFC3986: "RFC3986"
        }, Pt = Object.prototype.hasOwnProperty, xt = Array.isArray, kt = function () {
            for (var t = [], e = 0; e < 256; ++e) t.push("%" + ((e < 16 ? "0" : "") + e.toString(16)).toUpperCase());
            return t
        }(), Rt = {
            combine: function (t, e) {
                return [].concat(t, e)
            }, compact: function (t) {
                for (var e = [{
                    obj: {o: t},
                    prop: "o"
                }], r = [], o = 0; o < e.length; ++o) for (var n = e[o], i = n.obj[n.prop], a = Object.keys(i), s = 0; s < a.length; ++s) {
                    var l = a[s], p = i[l];
                    "object" == typeof p && null !== p && -1 === r.indexOf(p) && (e.push({obj: i, prop: l}), r.push(p))
                }
                return function (t) {
                    for (; t.length > 1;) {
                        var e = t.pop(), r = e.obj[e.prop];
                        if (xt(r)) {
                            for (var o = [], n = 0; n < r.length; ++n) void 0 !== r[n] && o.push(r[n]);
                            e.obj[e.prop] = o
                        }
                    }
                }(e), t
            }, decode: function (t, e, r) {
                var o = t.replace(/\+/g, " ");
                if ("iso-8859-1" === r) return o.replace(/%[0-9a-f]{2}/gi, unescape);
                try {
                    return decodeURIComponent(o)
                } catch (me) {
                    return o
                }
            }, encode: function (t, e, r, o, n) {
                if (0 === t.length) return t;
                var i = t;
                if ("symbol" == typeof t ? i = Symbol.prototype.toString.call(t) : "string" != typeof t && (i = String(t)), "iso-8859-1" === r) return escape(i).replace(/%u[0-9a-f]{4}/gi, (function (t) {
                    return "%26%23" + parseInt(t.slice(2), 16) + "%3B"
                }));
                for (var a = "", s = 0; s < i.length; s += 1024) {
                    for (var l = i.length >= 1024 ? i.slice(s, s + 1024) : i, p = [], u = 0; u < l.length; ++u) {
                        var c = l.charCodeAt(u);
                        45 === c || 46 === c || 95 === c || 126 === c || c >= 48 && c <= 57 || c >= 65 && c <= 90 || c >= 97 && c <= 122 || n === Tt.RFC1738 && (40 === c || 41 === c) ? p[p.length] = l.charAt(u) : c < 128 ? p[p.length] = kt[c] : c < 2048 ? p[p.length] = kt[192 | c >> 6] + kt[128 | 63 & c] : c < 55296 || c >= 57344 ? p[p.length] = kt[224 | c >> 12] + kt[128 | c >> 6 & 63] + kt[128 | 63 & c] : (u += 1, c = 65536 + ((1023 & c) << 10 | 1023 & l.charCodeAt(u)), p[p.length] = kt[240 | c >> 18] + kt[128 | c >> 12 & 63] + kt[128 | c >> 6 & 63] + kt[128 | 63 & c])
                    }
                    a += p.join("")
                }
                return a
            }, isBuffer: function (t) {
                return !(!t || "object" != typeof t || !(t.constructor && t.constructor.isBuffer && t.constructor.isBuffer(t)))
            }, isRegExp: function (t) {
                return "[object RegExp]" === Object.prototype.toString.call(t)
            }, maybeMap: function (t, e) {
                if (xt(t)) {
                    for (var r = [], o = 0; o < t.length; o += 1) r.push(e(t[o]));
                    return r
                }
                return e(t)
            }, merge: function t(e, r, o) {
                if (!r) return e;
                if ("object" != typeof r) {
                    if (xt(e)) e.push(r); else {
                        if (!e || "object" != typeof e) return [e, r];
                        (o && (o.plainObjects || o.allowPrototypes) || !Pt.call(Object.prototype, r)) && (e[r] = !0)
                    }
                    return e
                }
                if (!e || "object" != typeof e) return [e].concat(r);
                var n = e;
                return xt(e) && !xt(r) && (n = function (t, e) {
                    for (var r = e && e.plainObjects ? Object.create(null) : {}, o = 0; o < t.length; ++o) void 0 !== t[o] && (r[o] = t[o]);
                    return r
                }(e, o)), xt(e) && xt(r) ? (r.forEach((function (r, n) {
                    if (Pt.call(e, n)) {
                        var i = e[n];
                        i && "object" == typeof i && r && "object" == typeof r ? e[n] = t(i, r, o) : e.push(r)
                    } else e[n] = r
                })), e) : Object.keys(r).reduce((function (e, n) {
                    var i = r[n];
                    return Pt.call(e, n) ? e[n] = t(e[n], i, o) : e[n] = i, e
                }), n)
            }
        }, It = Object.prototype.hasOwnProperty, Dt = {
            brackets: function (t) {
                return t + "[]"
            }, comma: "comma", indices: function (t, e) {
                return t + "[" + e + "]"
            }, repeat: function (t) {
                return t
            }
        }, Ct = Array.isArray, Ft = Array.prototype.push, Nt = function (t, e) {
            Ft.apply(t, Ct(e) ? e : [e])
        }, Ut = Date.prototype.toISOString, Mt = Tt.default, qt = {
            addQueryPrefix: !1,
            allowDots: !1,
            allowEmptyArrays: !1,
            arrayFormat: "indices",
            charset: "utf-8",
            charsetSentinel: !1,
            delimiter: "&",
            encode: !0,
            encodeDotInKeys: !1,
            encoder: Rt.encode,
            encodeValuesOnly: !1,
            format: Mt,
            formatter: Tt.formatters[Mt],
            indices: !1,
            serializeDate: function (t) {
                return Ut.call(t)
            },
            skipNulls: !1,
            strictNullHandling: !1
        }, Lt = {}, Bt = function t(e, r, o, n, i, a, s, l, p, u, c, f, y, h, d, m, b, g) {
            for (var v, w = e, _ = g, S = 0, A = !1; void 0 !== (_ = _.get(Lt)) && !A;) {
                var E = _.get(e);
                if (S += 1, void 0 !== E) {
                    if (E === S) throw new RangeError("Cyclic object value");
                    A = !0
                }
                void 0 === _.get(Lt) && (S = 0)
            }
            if ("function" == typeof u ? w = u(r, w) : w instanceof Date ? w = y(w) : "comma" === o && Ct(w) && (w = Rt.maybeMap(w, (function (t) {
                return t instanceof Date ? y(t) : t
            }))), null === w) {
                if (a) return p && !m ? p(r, qt.encoder, b, "key", h) : r;
                w = ""
            }
            if ("string" == typeof (v = w) || "number" == typeof v || "boolean" == typeof v || "symbol" == typeof v || "bigint" == typeof v || Rt.isBuffer(w)) return p ? [d(m ? r : p(r, qt.encoder, b, "key", h)) + "=" + d(p(w, qt.encoder, b, "value", h))] : [d(r) + "=" + d(String(w))];
            var O, j = [];
            if (void 0 === w) return j;
            if ("comma" === o && Ct(w)) m && p && (w = Rt.maybeMap(w, p)), O = [{value: w.length > 0 ? w.join(",") || null : void 0}]; else if (Ct(u)) O = u; else {
                var T = Object.keys(w);
                O = c ? T.sort(c) : T
            }
            var P = l ? r.replace(/\./g, "%2E") : r, x = n && Ct(w) && 1 === w.length ? P + "[]" : P;
            if (i && Ct(w) && 0 === w.length) return x + "[]";
            for (var k = 0; k < O.length; ++k) {
                var R = O[k], I = "object" == typeof R && void 0 !== R.value ? R.value : w[R];
                if (!s || null !== I) {
                    var D = f && l ? R.replace(/\./g, "%2E") : R,
                        C = Ct(w) ? "function" == typeof o ? o(x, D) : x : x + (f ? "." + D : "[" + D + "]");
                    g.set(e, S);
                    var F = Et();
                    F.set(Lt, g), Nt(j, t(I, C, o, n, i, a, s, l, "comma" === o && m && Ct(w) ? null : p, u, c, f, y, h, d, m, b, F))
                }
            }
            return j
        }, Wt = (Object.prototype.hasOwnProperty, Array.isArray, function (t, e) {
            var r, o = t, n = function (t) {
                if (!t) return qt;
                if (void 0 !== t.allowEmptyArrays && "boolean" != typeof t.allowEmptyArrays) throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");
                if (void 0 !== t.encodeDotInKeys && "boolean" != typeof t.encodeDotInKeys) throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");
                if (null !== t.encoder && void 0 !== t.encoder && "function" != typeof t.encoder) throw new TypeError("Encoder has to be a function.");
                var e = t.charset || qt.charset;
                if (void 0 !== t.charset && "utf-8" !== t.charset && "iso-8859-1" !== t.charset) throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");
                var r = Tt.default;
                if (void 0 !== t.format) {
                    if (!It.call(Tt.formatters, t.format)) throw new TypeError("Unknown format option provided.");
                    r = t.format
                }
                var o, n = Tt.formatters[r], i = qt.filter;
                if (("function" == typeof t.filter || Ct(t.filter)) && (i = t.filter), o = t.arrayFormat in Dt ? t.arrayFormat : "indices" in t ? t.indices ? "indices" : "repeat" : qt.arrayFormat, "commaRoundTrip" in t && "boolean" != typeof t.commaRoundTrip) throw new TypeError("`commaRoundTrip` must be a boolean, or absent");
                var a = void 0 === t.allowDots ? !0 === t.encodeDotInKeys || qt.allowDots : !!t.allowDots;
                return {
                    addQueryPrefix: "boolean" == typeof t.addQueryPrefix ? t.addQueryPrefix : qt.addQueryPrefix,
                    allowDots: a,
                    allowEmptyArrays: "boolean" == typeof t.allowEmptyArrays ? !!t.allowEmptyArrays : qt.allowEmptyArrays,
                    arrayFormat: o,
                    charset: e,
                    charsetSentinel: "boolean" == typeof t.charsetSentinel ? t.charsetSentinel : qt.charsetSentinel,
                    commaRoundTrip: t.commaRoundTrip,
                    delimiter: void 0 === t.delimiter ? qt.delimiter : t.delimiter,
                    encode: "boolean" == typeof t.encode ? t.encode : qt.encode,
                    encodeDotInKeys: "boolean" == typeof t.encodeDotInKeys ? t.encodeDotInKeys : qt.encodeDotInKeys,
                    encoder: "function" == typeof t.encoder ? t.encoder : qt.encoder,
                    encodeValuesOnly: "boolean" == typeof t.encodeValuesOnly ? t.encodeValuesOnly : qt.encodeValuesOnly,
                    filter: i,
                    format: r,
                    formatter: n,
                    serializeDate: "function" == typeof t.serializeDate ? t.serializeDate : qt.serializeDate,
                    skipNulls: "boolean" == typeof t.skipNulls ? t.skipNulls : qt.skipNulls,
                    sort: "function" == typeof t.sort ? t.sort : null,
                    strictNullHandling: "boolean" == typeof t.strictNullHandling ? t.strictNullHandling : qt.strictNullHandling
                }
            }(e);
            "function" == typeof n.filter ? o = (0, n.filter)("", o) : Ct(n.filter) && (r = n.filter);
            var i = [];
            if ("object" != typeof o || null === o) return "";
            var a = Dt[n.arrayFormat], s = "comma" === a && n.commaRoundTrip;
            r || (r = Object.keys(o)), n.sort && r.sort(n.sort);
            for (var l = Et(), p = 0; p < r.length; ++p) {
                var u = r[p];
                n.skipNulls && null === o[u] || Nt(i, Bt(o[u], u, a, s, n.allowEmptyArrays, n.strictNullHandling, n.skipNulls, n.encodeDotInKeys, n.encode ? n.encoder : null, n.filter, n.sort, n.allowDots, n.serializeDate, n.format, n.formatter, n.encodeValuesOnly, n.charset, l))
            }
            var c = i.join(n.delimiter), f = !0 === n.addQueryPrefix ? "?" : "";
            return n.charsetSentinel && ("iso-8859-1" === n.charset ? f += "utf8=%26%2310003%3B&" : f += "utf8=%E2%9C%93&"), c.length > 0 ? f + c : ""
        }), Ht = {
            type: t => t.split(/ *; */).shift(), params: t => {
                const e = {};
                for (const r of t.split(/ *; */)) {
                    const t = r.split(/ *= */), o = t.shift(), n = t.shift();
                    o && n && (e[o] = n)
                }
                return e
            }, parseLinks: t => {
                const e = {};
                for (const r of t.split(/ *, */)) {
                    const t = r.split(/ *; */), o = t[0].slice(1, -1);
                    e[t[1].split(/ *= */)[1].slice(1, -1)] = o
                }
                return e
            }, isObject: t => null !== t && "object" == typeof t
        };
    Ht.hasOwn = Object.hasOwn || function (t, e) {
        if (null == t) throw new TypeError("Cannot convert undefined or null to object");
        return Object.prototype.hasOwnProperty.call(new Object(t), e)
    }, Ht.mixin = (t, e) => {
        for (const r in e) Ht.hasOwn(e, r) && (t[r] = e[r])
    };
    var $t;
    const {isObject: zt, hasOwn: Gt} = Ht;

    function Jt() {
    }

    $t = Jt, Jt.prototype.clearTimeout = function () {
        return clearTimeout(this._timer), clearTimeout(this._responseTimeoutTimer), clearTimeout(this._uploadTimeoutTimer), delete this._timer, delete this._responseTimeoutTimer, delete this._uploadTimeoutTimer, this
    }, Jt.prototype.parse = function (t) {
        return this._parser = t, this
    }, Jt.prototype.responseType = function (t) {
        return this._responseType = t, this
    }, Jt.prototype.serialize = function (t) {
        return this._serializer = t, this
    }, Jt.prototype.timeout = function (t) {
        if (!t || "object" != typeof t) return this._timeout = t, this._responseTimeout = 0, this._uploadTimeout = 0, this;
        for (const e in t) if (Gt(t, e)) switch (e) {
            case"deadline":
                this._timeout = t.deadline;
                break;
            case"response":
                this._responseTimeout = t.response;
                break;
            case"upload":
                this._uploadTimeout = t.upload;
                break;
            default:
                console.warn("Unknown timeout option", e)
        }
        return this
    }, Jt.prototype.retry = function (t, e) {
        return 0 !== arguments.length && !0 !== t || (t = 1), t <= 0 && (t = 0), this._maxRetries = t, this._retries = 0, this._retryCallback = e, this
    };
    const Kt = new Set(["ETIMEDOUT", "ECONNRESET", "EADDRINUSE", "ECONNREFUSED", "EPIPE", "ENOTFOUND", "ENETUNREACH", "EAI_AGAIN"]),
        Vt = new Set([408, 413, 429, 500, 502, 503, 504, 521, 522, 524]);
    Jt.prototype._shouldRetry = function (t, e) {
        if (!this._maxRetries || this._retries++ >= this._maxRetries) return !1;
        if (this._retryCallback) try {
            const r = this._retryCallback(t, e);
            if (!0 === r) return !0;
            if (!1 === r) return !1
        } catch (r) {
            console.error(r)
        }
        if (e && e.status && Vt.has(e.status)) return !0;
        if (t) {
            if (t.code && Kt.has(t.code)) return !0;
            if (t.timeout && "ECONNABORTED" === t.code) return !0;
            if (t.crossDomain) return !0
        }
        return !1
    }, Jt.prototype._retry = function () {
        return this.clearTimeout(), this.req && (this.req = null, this.req = this.request()), this._aborted = !1, this.timedout = !1, this.timedoutError = null, this._end()
    }, Jt.prototype.then = function (t, e) {
        if (!this._fullfilledPromise) {
            const t = this;
            this._endCalled && console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"), this._fullfilledPromise = new Promise((e, r) => {
                t.on("abort", () => {
                    if (this._maxRetries && this._maxRetries > this._retries) return;
                    if (this.timedout && this.timedoutError) return void r(this.timedoutError);
                    const t = new Error("Aborted");
                    t.code = "ABORTED", t.status = this.status, t.method = this.method, t.url = this.url, r(t)
                }), t.end((t, o) => {
                    t ? r(t) : e(o)
                })
            })
        }
        return this._fullfilledPromise.then(t, e)
    }, Jt.prototype.catch = function (t) {
        return this.then(void 0, t)
    }, Jt.prototype.use = function (t) {
        return t(this), this
    }, Jt.prototype.ok = function (t) {
        if ("function" != typeof t) throw new Error("Callback required");
        return this._okCallback = t, this
    }, Jt.prototype._isResponseOK = function (t) {
        return !!t && (this._okCallback ? this._okCallback(t) : t.status >= 200 && t.status < 300)
    }, Jt.prototype.get = function (t) {
        return this._header[t.toLowerCase()]
    }, Jt.prototype.getHeader = Jt.prototype.get, Jt.prototype.set = function (t, e) {
        if (zt(t)) {
            for (const e in t) Gt(t, e) && this.set(e, t[e]);
            return this
        }
        return this._header[t.toLowerCase()] = e, this.header[t] = e, this
    }, Jt.prototype.unset = function (t) {
        return delete this._header[t.toLowerCase()], delete this.header[t], this
    }, Jt.prototype.field = function (t, e, r) {
        if (null == t) throw new Error(".field(name, val) name can not be empty");
        if (this._data) throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()");
        if (zt(t)) {
            for (const e in t) Gt(t, e) && this.field(e, t[e]);
            return this
        }
        if (Array.isArray(e)) {
            for (const r in e) Gt(e, r) && this.field(t, e[r]);
            return this
        }
        if (null == e) throw new Error(".field(name, val) val can not be empty");
        return "boolean" == typeof e && (e = String(e)), r ? this._getFormData().append(t, e, r) : this._getFormData().append(t, e), this
    }, Jt.prototype.abort = function () {
        return this._aborted || (this._aborted = !0, this.xhr && this.xhr.abort(), this.req && this.req.abort(), this.clearTimeout(), this.emit("abort")), this
    }, Jt.prototype._auth = function (t, e, r, o) {
        switch (r.type) {
            case"basic":
                this.set("Authorization", "Basic " + o(`${t}:${e}`));
                break;
            case"auto":
                this.username = t, this.password = e;
                break;
            case"bearer":
                this.set("Authorization", "Bearer " + t)
        }
        return this
    }, Jt.prototype.withCredentials = function (t) {
        return void 0 === t && (t = !0), this._withCredentials = t, this
    }, Jt.prototype.redirects = function (t) {
        return this._maxRedirects = t, this
    }, Jt.prototype.maxResponseSize = function (t) {
        if ("number" != typeof t) throw new TypeError("Invalid argument");
        return this._maxResponseSize = t, this
    }, Jt.prototype.toJSON = function () {
        return {method: this.method, url: this.url, data: this._data, headers: this._header}
    }, Jt.prototype.send = function (t) {
        const e = zt(t);
        let r = this._header["content-type"];
        if (this._formData) throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()");
        if (e && !this._data) Array.isArray(t) ? this._data = [] : this._isHost(t) || (this._data = {}); else if (t && this._data && this._isHost(this._data)) throw new Error("Can't merge these send calls");
        if (e && zt(this._data)) for (const o in t) {
            if ("bigint" == typeof t[o] && !t[o].toJSON) throw new Error("Cannot serialize BigInt value to json");
            Gt(t, o) && (this._data[o] = t[o])
        } else {
            if ("bigint" == typeof t) throw new Error("Cannot send value of type BigInt");
            "string" == typeof t ? (r || this.type("form"), (r = this._header["content-type"]) && (r = r.toLowerCase().trim()), this._data = "application/x-www-form-urlencoded" === r ? this._data ? `${this._data}&${t}` : t : (this._data || "") + t) : this._data = t
        }
        return !e || this._isHost(t) || r || this.type("json"), this
    }, Jt.prototype.sortQuery = function (t) {
        return this._sort = void 0 === t || t, this
    }, Jt.prototype._finalizeQueryString = function () {
        const t = this._query.join("&");
        if (t && (this.url += (this.url.includes("?") ? "&" : "?") + t), this._query.length = 0, this._sort) {
            const t = this.url.indexOf("?");
            if (t >= 0) {
                const e = this.url.slice(t + 1).split("&");
                "function" == typeof this._sort ? e.sort(this._sort) : e.sort(), this.url = this.url.slice(0, t) + "?" + e.join("&")
            }
        }
    }, Jt.prototype._appendQueryString = () => {
        console.warn("Unsupported")
    }, Jt.prototype._timeoutError = function (t, e, r) {
        if (this._aborted) return;
        const o = new Error(t + e + "ms exceeded");
        o.timeout = e, o.code = "ECONNABORTED", o.errno = r, this.timedout = !0, this.timedoutError = o, this.abort(), this.callback(o)
    }, Jt.prototype._setTimeouts = function () {
        const t = this;
        this._timeout && !this._timer && (this._timer = setTimeout(() => {
            t._timeoutError("Timeout of ", t._timeout, "ETIME")
        }, this._timeout)), this._responseTimeout && !this._responseTimeoutTimer && (this._responseTimeoutTimer = setTimeout(() => {
            t._timeoutError("Response timeout of ", t._responseTimeout, "ETIMEDOUT")
        }, this._responseTimeout))
    };
    var Qt;

    function Xt() {
    }

    Qt = Xt, Xt.prototype.get = function (t) {
        return this.header[t.toLowerCase()]
    }, Xt.prototype._setHeaderProperties = function (t) {
        const e = t["content-type"] || "";
        this.type = Ht.type(e);
        const r = Ht.params(e);
        for (const n in r) Object.prototype.hasOwnProperty.call(r, n) && (this[n] = r[n]);
        this.links = {};
        try {
            t.link && (this.links = Ht.parseLinks(t.link))
        } catch (o) {
        }
    }, Xt.prototype._setStatusProperties = function (t) {
        const e = Math.trunc(t / 100);
        this.statusCode = t, this.status = this.statusCode, this.statusType = e, this.info = 1 === e, this.ok = 2 === e, this.redirect = 3 === e, this.clientError = 4 === e, this.serverError = 5 === e, this.error = (4 === e || 5 === e) && this.toError(), this.created = 201 === t, this.accepted = 202 === t, this.noContent = 204 === t, this.badRequest = 400 === t, this.unauthorized = 401 === t, this.notAcceptable = 406 === t, this.forbidden = 403 === t, this.notFound = 404 === t, this.unprocessableEntity = 422 === t
    };
    const Yt = ["use", "on", "once", "set", "query", "type", "accept", "auth", "withCredentials", "sortQuery", "retry", "ok", "redirects", "timeout", "buffer", "serialize", "parse", "ca", "key", "pfx", "cert", "disableTLSCerts"];

    class Zt {
        constructor() {
            this._defaults = []
        }

        _setDefaults(t) {
            for (const e of this._defaults) t[e.fn](...e.args)
        }
    }

    for (const be of Yt) Zt.prototype[be] = function () {
        for (var t = arguments.length, e = new Array(t), r = 0; r < t; r++) e[r] = arguments[r];
        return this._defaults.push({fn: be, args: e}), this
    };
    var te = Zt, ee = {};
    let re;
    "undefined" != typeof window ? re = window : "undefined" == typeof self ? (console.warn("Using browser-only version of superagent in non-browser environment"), re = this) : re = self;
    const {isObject: oe, mixin: ne, hasOwn: ie} = Ht;

    function ae() {
    }

    const se = ee = ee = function (t, e) {
        return "function" == typeof e ? new ee.Request("GET", t).end(e) : 1 === arguments.length ? new ee.Request("GET", t) : new ee.Request(t, e)
    };
    ee.Request = he, se.getXHR = () => {
        if (re.XMLHttpRequest) return new re.XMLHttpRequest;
        throw new Error("Browser-only version of superagent could not find XHR")
    };
    const le = "".trim ? t => t.trim() : t => t.replace(/(^\s*|\s*$)/g, "");

    function pe(t) {
        if (!oe(t)) return t;
        const e = [];
        for (const r in t) ie(t, r) && ue(e, r, t[r]);
        return e.join("&")
    }

    function ue(t, e, r) {
        if (void 0 !== r) if (null !== r) if (Array.isArray(r)) for (const o of r) ue(t, e, o); else if (oe(r)) for (const o in r) ie(r, o) && ue(t, `${e}[${o}]`, r[o]); else t.push(encodeURI(e) + "=" + encodeURIComponent(r)); else t.push(encodeURI(e))
    }

    function ce(t) {
        const e = {}, r = t.split("&");
        let o, n;
        for (let i = 0, a = r.length; i < a; ++i) -1 === (n = (o = r[i]).indexOf("=")) ? e[decodeURIComponent(o)] = "" : e[decodeURIComponent(o.slice(0, n))] = decodeURIComponent(o.slice(n + 1));
        return e
    }

    function fe(t) {
        return /[/+]json($|[^-\w])/i.test(t)
    }

    function ye(t) {
        this.req = t, this.xhr = this.req.xhr, this.text = "HEAD" !== this.req.method && ("" === this.xhr.responseType || "text" === this.xhr.responseType) || void 0 === this.xhr.responseType ? this.xhr.responseText : null, this.statusText = this.req.xhr.statusText;
        let {status: e} = this.xhr;
        1223 === e && (e = 204), this._setStatusProperties(e), this.headers = function (t) {
            const e = t.split(/\r?\n/), r = {};
            let o, n, i, a;
            for (let s = 0, l = e.length; s < l; ++s) -1 !== (o = (n = e[s]).indexOf(":")) && (i = n.slice(0, o).toLowerCase(), a = le(n.slice(o + 1)), r[i] = a);
            return r
        }(this.xhr.getAllResponseHeaders()), this.header = this.headers, this.header["content-type"] = this.xhr.getResponseHeader("content-type"), this._setHeaderProperties(this.header), null === this.text && t._responseType ? this.body = this.xhr.response : this.body = "HEAD" === this.req.method ? null : this._parseBody(this.text ? this.text : this.xhr.response)
    }

    function he(t, e) {
        const r = this;
        this._query = this._query || [], this.method = t, this.url = e, this.header = {}, this._header = {}, this.on("end", () => {
            let t, e = null, o = null;
            try {
                o = new ye(r)
            } catch (n) {
                return (e = new Error("Parser is unable to parse the response")).parse = !0, e.original = n, r.xhr ? (e.rawResponse = void 0 === r.xhr.responseType ? r.xhr.responseText : r.xhr.response, e.status = r.xhr.status ? r.xhr.status : null, e.statusCode = e.status) : (e.rawResponse = null, e.status = null), r.callback(e)
            }
            r.emit("response", o);
            try {
                r._isResponseOK(o) || (t = new Error(o.statusText || o.text || "Unsuccessful HTTP response"))
            } catch (n) {
                t = n
            }
            t ? (t.original = e, t.response = o, t.status = t.status || o.status, r.callback(t, o)) : r.callback(null, o)
        })
    }

    se.serializeObject = pe, se.parseString = ce, se.types = {
        html: "text/html",
        json: "application/json",
        xml: "text/xml",
        urlencoded: "application/x-www-form-urlencoded",
        form: "application/x-www-form-urlencoded",
        "form-data": "application/x-www-form-urlencoded"
    }, se.serialize = {
        "application/x-www-form-urlencoded": t => Wt(t, {indices: !1, strictNullHandling: !0}),
        "application/json": r
    }, se.parse = {
        "application/x-www-form-urlencoded": ce,
        "application/json": JSON.parse
    }, ne(ye.prototype, Qt.prototype), ye.prototype._parseBody = function (t) {
        let e = se.parse[this.type];
        return this.req._parser ? this.req._parser(this, t) : (!e && fe(this.type) && (e = se.parse["application/json"]), e && t && (t.length > 0 || t instanceof Object) ? e(t) : null)
    }, ye.prototype.toError = function () {
        const {req: t} = this, {method: e} = t, {url: r} = t, o = `cannot ${e} ${r} (${this.status})`, n = new Error(o);
        return n.status = this.status, n.method = e, n.url = r, n
    }, se.Response = ye, t(he.prototype), ne(he.prototype, $t.prototype), he.prototype.type = function (t) {
        return this.set("Content-Type", se.types[t] || t), this
    }, he.prototype.accept = function (t) {
        return this.set("Accept", se.types[t] || t), this
    }, he.prototype.auth = function (t, e, r) {
        1 === arguments.length && (e = ""), "object" == typeof e && null !== e && (r = e, e = ""), r || (r = {type: "function" == typeof btoa ? "basic" : "auto"});
        const o = r.encoder ? r.encoder : t => {
            if ("function" == typeof btoa) return btoa(t);
            throw new Error("Cannot use basic auth, btoa is not a function")
        };
        return this._auth(t, e, r, o)
    }, he.prototype.query = function (t) {
        return "string" != typeof t && (t = pe(t)), t && this._query.push(t), this
    }, he.prototype.attach = function (t, e, r) {
        if (e) {
            if (this._data) throw new Error("superagent can't mix .send() and .attach()");
            this._getFormData().append(t, e, r || e.name)
        }
        return this
    }, he.prototype._getFormData = function () {
        return this._formData || (this._formData = new re.FormData), this._formData
    }, he.prototype.callback = function (t, e) {
        if (this._shouldRetry(t, e)) return this._retry();
        const r = this._callback;
        this.clearTimeout(), t && (this._maxRetries && (t.retries = this._retries - 1), this.emit("error", t)), r(t, e)
    }, he.prototype.crossDomainError = function () {
        const t = new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");
        t.crossDomain = !0, t.status = this.status, t.method = this.method, t.url = this.url, this.callback(t)
    }, he.prototype.agent = function () {
        return console.warn("This is not supported in browser version of superagent"), this
    }, he.prototype.ca = he.prototype.agent, he.prototype.buffer = he.prototype.ca, he.prototype.write = () => {
        throw new Error("Streaming is not supported in browser version of superagent")
    }, he.prototype.pipe = he.prototype.write, he.prototype._isHost = function (t) {
        return t && "object" == typeof t && !Array.isArray(t) && "[object Object]" !== Object.prototype.toString.call(t)
    }, he.prototype.end = function (t) {
        this._endCalled && console.warn("Warning: .end() was called twice. This is not supported in superagent"), this._endCalled = !0, this._callback = t || ae, this._finalizeQueryString(), this._end()
    }, he.prototype._setUploadTimeout = function () {
        const t = this;
        this._uploadTimeout && !this._uploadTimeoutTimer && (this._uploadTimeoutTimer = setTimeout(() => {
            t._timeoutError("Upload timeout of ", t._uploadTimeout, "ETIMEDOUT")
        }, this._uploadTimeout))
    }, he.prototype._end = function () {
        if (this._aborted) return this.callback(new Error("The request has been aborted even before .end() was called"));
        const t = this;
        this.xhr = se.getXHR();
        const {xhr: e} = this;
        let r = this._formData || this._data;
        this._setTimeouts(), e.addEventListener("readystatechange", () => {
            const {readyState: r} = e;
            if (r >= 2 && t._responseTimeoutTimer && clearTimeout(t._responseTimeoutTimer), 4 !== r) return;
            let o;
            try {
                o = e.status
            } catch (n) {
                o = 0
            }
            if (!o) {
                if (t.timedout || t._aborted) return;
                return t.crossDomainError()
            }
            t.emit("end")
        });
        const o = (e, r) => {
            r.total > 0 && (r.percent = r.loaded / r.total * 100, 100 === r.percent && clearTimeout(t._uploadTimeoutTimer)), r.direction = e, t.emit("progress", r)
        };
        if (this.hasListeners("progress")) try {
            e.addEventListener("progress", o.bind(null, "download")), e.upload && e.upload.addEventListener("progress", o.bind(null, "upload"))
        } catch (n) {
        }
        e.upload && this._setUploadTimeout();
        try {
            this.username && this.password ? e.open(this.method, this.url, !0, this.username, this.password) : e.open(this.method, this.url, !0)
        } catch (n) {
            return this.callback(n)
        }
        if (this._withCredentials && (e.withCredentials = !0), !this._formData && "GET" !== this.method && "HEAD" !== this.method && "string" != typeof r && !this._isHost(r)) {
            const t = this._header["content-type"];
            let e = this._serializer || se.serialize[t ? t.split(";")[0] : ""];
            !e && fe(t) && (e = se.serialize["application/json"]), e && (r = e(r))
        }
        for (const i in this.header) null !== this.header[i] && ie(this.header, i) && e.setRequestHeader(i, this.header[i]);
        this._responseType && (e.responseType = this._responseType), this.emit("request", this), e.send(void 0 === r ? null : r)
    }, se.agent = () => new te;
    for (const be of ["GET", "POST", "OPTIONS", "PATCH", "PUT", "DELETE"]) te.prototype[be.toLowerCase()] = function (t, e) {
        const r = new se.Request(be, t);
        return this._setDefaults(r), e && r.end(e), r
    };

    function de(t, e, r) {
        const o = se("DELETE", t);
        return "function" == typeof e && (r = e, e = null), e && o.send(e), r && o.end(r), o
    }

    return te.prototype.del = te.prototype.delete, se.get = (t, e, r) => {
        const o = se("GET", t);
        return "function" == typeof e && (r = e, e = null), e && o.query(e), r && o.end(r), o
    }, se.head = (t, e, r) => {
        const o = se("HEAD", t);
        return "function" == typeof e && (r = e, e = null), e && o.query(e), r && o.end(r), o
    }, se.options = (t, e, r) => {
        const o = se("OPTIONS", t);
        return "function" == typeof e && (r = e, e = null), e && o.send(e), r && o.end(r), o
    }, se.del = de, se.delete = de, se.patch = (t, e, r) => {
        const o = se("PATCH", t);
        return "function" == typeof e && (r = e, e = null), e && o.send(e), r && o.end(r), o
    }, se.post = (t, e, r) => {
        const o = se("POST", t);
        return "function" == typeof e && (r = e, e = null), e && o.send(e), r && o.end(r), o
    }, se.put = (t, e, r) => {
        const o = se("PUT", t);
        return "function" == typeof e && (r = e, e = null), e && o.send(e), r && o.end(r), o
    }, ee
}));

function http(url, data, callback) {
    http(url, data, callback, {
        http() {
        },
        body() {
        }
    })
}


function http(url, data, callback, errorCallback) {
    getConfig(["token", "server", "version"], (result) => {
        superagent
            .post(result.server + url)
            .send(data) // 发送JSON POST主体
            .set('token', result.token)
            .set('version', result.version)
            .end(function (err, res) {
                if (err) {
                    foxui.message({
                        type: 'danger', text: '网络请求错误'
                    });
                    errorCallback.http();
                    return;
                }
                if (res.body.status===0) {
                    foxui.message({
                        type: 'danger', text: res.body.msg
                    });
                    errorCallback.body();
                    return;
                }
                if (res.body.status===-1) {
                    alert(res.body.msg.replace("服务地址",result.server))
                    createTab(result.server+"/plugin")
                    window.close()
                    return;
                }
                callback(res.body);
            });
    });
}